home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Dev / powerd / lib / powerd_lib.lha / PowerD / WaitIMessage.ass < prev    next >
Encoding:
Text File  |  1999-06-23  |  619 b   |  38 lines

  1. ; a0 - window
  2.  
  3. ; d0 - class
  4. ; d1 - code
  5. ; d2 - qualifier
  6. ; d3 - iaddress
  7.  
  8.     xdef    _WaitIMessage
  9.  
  10. _WaitIMessage
  11.     movem.l    a2-a3/a6,-(a7)
  12.     move.l    $56(a0),a2    ; a2=port
  13.     movea.l    4.w,a6
  14.     move.l    a2,a0
  15.     jsr    -372(a6)        ; getmsg
  16.     move.l    d0,a3        ; a3=mes
  17.     tst.l    d0
  18.     bne.s    .1
  19. .2:    move.l    a2,a0
  20.     jsr    -384(a6)        ; waitport
  21.     move.l    a2,a0
  22.     jsr    -372(a6)        ; getmsg
  23.     move.l    d0,a3
  24.     tst.l    d0
  25.     beq.s    .2
  26. .1    clr.l    d1
  27.     clr.l    d2
  28.     move.l    28(a3),d3        ; iaddress
  29.     move.w    26(a3),d2        ; qualifier
  30.     move.w    24(a3),d1        ; code
  31.     move.l    20(a3),d0        ; class
  32.     movem.l    d0-d1,-(a7)
  33.     move.l    a3,a1
  34.     jsr    -378(a6)        ; reply
  35.     movem.l    (a7)+,d0-d1
  36.     movem.l    (a7)+,a2-a3/a6
  37.     rts
  38.